package com.zhny.aiot.three.ball.v2.four.plugin.model;

import com.zhny.aiot.plugin.ActionValue;
import com.zhny.aiot.plugin.PropertyValue;
import com.zhny.aiot.plugin.model.*;
import lombok.Data;

@Data
public class BallThreeValve4GV2StoreEntry extends StoreEntity {
    @PropertyValue(alias = "电压",description = "电池电压",unit = "V",icon=IconConstract.Voltage,variableType=VariableType.Numerical,actions={
            @ActionValue(name=Operate.Check, commandCode="queryVoltage", eventType=EventType.Click)
    })
    private String voltage;
    @PropertyValue(alias = "A通道压力",description = "A过水压力",unit = "mpa",icon=IconConstract.Pressure,variableType=VariableType.Numerical,actions={
            @ActionValue(name=Operate.Check, commandCode="queryPressure", eventType=EventType.Click)
    })
    private String aPressure;
    @PropertyValue(alias = "B通道压力",description = "B过水压力",unit = "mpa",icon=IconConstract.Pressure,variableType=VariableType.Numerical,actions={
            @ActionValue(name=Operate.Check, commandCode="queryPressure", eventType=EventType.Click)
    })
    private String bPressure;
    @PropertyValue(alias = "压力上限",description = "压力上限",icon=IconConstract.Pressure,variableType=VariableType.InputValue,actions={
            @ActionValue(name=Operate.Value,commandCode="upValue",eventType=EventType.Input),
            @ActionValue(name=Operate.Query,commandCode="query",eventType=EventType.Click)
    })
    private String pressureUp;

    @PropertyValue(alias = "压力下限",description = "压力下限",icon=IconConstract.Pressure,variableType=VariableType.InputValue,actions={
            @ActionValue(name=Operate.Value,commandCode="downValue",eventType=EventType.Input,paramClass=InputParam.class),
            @ActionValue(name=Operate.Query,commandCode="query",eventType=EventType.Click)
    })
    private String pressureDown;

    @PropertyValue(alias = "A阀门状态",description = "A阀门状态",unit = "%",icon=IconConstract.Other,variableType=VariableType.AdJustableValve,actions={
            @ActionValue(name=Operate.Value,commandCode="aValue",eventType=EventType.Input,paramClass=InputParam.class),
            @ActionValue(name=Operate.Init,commandCode="initialize",eventType=EventType.Input),
            @ActionValue(name=Operate.Query,commandCode="query",eventType=EventType.Click)
    })
    private String a;
    @PropertyValue(alias = "B阀门状态",description = "A阀门状态",unit = "%",icon=IconConstract.Other,variableType=VariableType.AdJustableValve,actions={
            @ActionValue(name=Operate.Value,commandCode="bValue",eventType=EventType.Input,paramClass=InputParam.class),
            @ActionValue(name=Operate.Init,commandCode="initialize",eventType=EventType.Input),
            @ActionValue(name=Operate.Query,commandCode="query",eventType=EventType.Click)
    })
    private String b;

    @PropertyValue(alias = "瞬时流量",description = "瞬时流量",unit = "m³/h",icon=IconConstract.Flow,variableType=VariableType.Numerical,actions={
            @ActionValue(name=Operate.Check, commandCode="queryFlow", eventType=EventType.Click)
    })
    private String flow;
    @PropertyValue(alias = "累计流量",description = "累计流量",unit = "m³",icon=IconConstract.Flow,variableType=VariableType.Numerical,actions={
            @ActionValue(name=Operate.Check, commandCode="queryTotalFlow", eventType=EventType.Click)
    })
    private String totalFlow;

    @PropertyValue(alias = "流量清除日期",description = "流量清除日期",unit = "",icon=IconConstract.Other,variableType=VariableType.Coordinator,actions={
            @ActionValue(name=Operate.Reboot, commandCode="clear", eventType=EventType.Click)
    })
    private String clearDate;
}
